package puzzlebn;

import aima.search.framework.HeuristicFunction;

public class PuzzleBNHeuristicFunction implements HeuristicFunction{

	@Override
	public double getHeuristicValue(Object state) {
		PuzzleBNEstado estado = (PuzzleBNEstado) state;
		
		int h = estado.getLongitud() - 1;
	   
		for (int i=0; i < estado.getLongitud(); i++)
			if ((i < (estado.getLongitud() / 2) && estado.getCasilla(i) == PuzzleBNEstado.BLANCO) ||
				(i > (estado.getLongitud() / 2) && estado.getCasilla(i) == PuzzleBNEstado.NEGRO))
				h--;
		
		return (double) h;
	}

}
